package com.spic.business.train.trainCertificate.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.spic.business.common.core.domain.BasicEntity;
import com.spic.common.core.annotation.Excel;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * 人员证书对象 train_certificate
 *
 * @author spic
 * @date 2021-11-25
 */
@Data
public class TrainCertificate extends BasicEntity
{
    private static final long serialVersionUID = 1L;

    /** 人员证书ID */
    private String trainCertificateId;

    /** 持证人员所属部门Id */
    private Long  deptId;

    /** 持证人员所属部门 */
    @Excel(name = "持证人员所属部门")
    private String deptName;

    /** 持证人员ID */
    @Excel(name = "持证人员姓名")
    private String userId;

    /** 持证人员岗位 */
    @Excel(name = "持证人员岗位")
    private String roleId;

    /** 持证人员身份证号 */
    @NotBlank
    @Excel(name = "持证人员身份证号")
    private String idCardNum;

    /** 证书类别 */
    @NotBlank
    @Excel(name = "证书类别",dictType ="train_certificate_type")
    private String certificateType;

    /** 作业类别 */
    @Excel(name = "作业类别",dictType ="train_work_type")
    private String workType;

    /** 操作项目 */
    @Excel(name = "操作项目",dictType ="train_action_item")
    private String actionItem;

    /** 证书编号 */
    @NotBlank
    @Excel(name = "证书编号")
    private String certificateNum;

    /** 发布证书部门 */
    @NotBlank
    @Excel(name = "发布证书部门")
    private String certificateDept;

    /** 复审日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date reviewDate;

    /** 证件获取时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "证件获取时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date certificateGetDate;

    /** 证件过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "证件过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date certificateExpirationDate;

    /** 备注 */
    @Excel(name = "备注")
    private String certificateRemark;

    /** 文件名 */
    private String fileName;

    /** 文件路径 */
    private String fileUrl;

    /** 删除标志 0-未删除；1-已删除 */
    private Integer deleteFlag;

    /**以下是对接培训系统返回的数据*/
    //0未同步;1已同步
    private Integer syncFlag;
    @Excel(name = "登录用户名")
    private String userName;
    private String certificateDueDate;
    private String certificateFilePath;
    private String certificateMan;
    private String certificateName;
    private String certificationTime;
    private String classTypeName;
    private String education;
    private String enclosurePath;
    private String identityCard;
    private String issuingDepartment;
    private String workTypeName;

}
